package com.hub.realtime.resource.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.hub.realtime.common.annotation.Excel;
import com.hub.realtime.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 res_flink_conf
 *
 * @author wupeng
 * @date 2022-01-20
 */
@Data
@TableName("res_flink_conf")
public class ResFlinkConf extends BaseEntity<ResFlinkConf>
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @TableId(value="id", type= IdType.AUTO)
    private Long id;

    /** flinkjob id */
    @TableField("flink_job_id")
    @Excel(name = "flinkjob id")
    private Long flinkJobId;

    /** 作业名称 */
    @TableField("job_name")
    @Excel(name = "作业名称")
    private String jobName;

    /** 版本号 */
    @TableField("version")
    @Excel(name = "版本号")
    private Long version;

    /** 是否活动的版本 */
    @TableField("active")
    @Excel(name = "是否活动的版本")
    private Integer active;



    /** 并行度 */
    @TableField("parallelism")
    @Excel(name = "并行度")
    private Long parallelism;

    /** job manager总内存 */
    @TableField("job_manager_mem")
    @Excel(name = "job manager总内存")
    private Long jobManagerMem;

    /** task_manager总内存 */
    @TableField("task_manager_mem")
    @Excel(name = "task_manager总内存")
    private Long taskManagerMem;

    /** flink高级配置 */
    @TableField("flink_adv_conf")
    @Excel(name = "flink高级配置")
    private String flinkAdvConf;

    /** jvm参数配置 */
    @TableField("jvm_conf")
    @Excel(name = "jvm参数配置")
    private String jvmConf;

    /** main参数配置 */
    @TableField("args_conf")
    @Excel(name = "main参数配置")
    private String argsConf;

    /** sql 脚本 */
    @TableField("sql_text")
    @Excel(name = "sql 脚本")
    private String sqlText;

    /** task_manager 槽位 */
    @TableField("slot_num")
    @Excel(name = "task_manager 槽位")
    private Long slotNum;

    /** 类加载方式 */
    @TableField("resolve_order")
    @Excel(name = "类加载方式")
    private String resolveOrder;

    /** yarn type */
    @TableField("yarn_application_type")
    @Excel(name = "yarn type")
    private String yarnApplicationType;

    /** yarn app name */
    @TableField("yarn_application_name")
    @Excel(name = "yarn app name")
    private String yarnApplicationName;

    /** yarn 队列名称 */
    @TableField("yarn_queue_name")
    @Excel(name = "yarn 队列名称")
    private String yarnQueueName;

    /** yarn job manager 内存 */
    @TableField("yarn_job_manager_mem")
    @Excel(name = "yarn job manager 内存")
    private Long yarnJobManagerMem;

    /** yarn task_manager 内存 */
    @TableField("yarn_task_manager_mem")
    @Excel(name = "yarn task_manager 内存")
    private Long yarnTaskManagerMem;

    /** yarn 槽位数 */
    @TableField("yarn_slot_num")
    @Excel(name = "yarn 槽位数")
    private Long yarnSlotNum;

    /** yarn高级参数 */
    @TableField("yarn_adv_conf")
    @Excel(name = "yarn高级参数")
    private String yarnAdvConf;

    /** log 类型 */
    @TableField("log_type")
    @Excel(name = "log 类型")
    private String logType;

    /** log 内容 */
    @TableField("log_text")
    @Excel(name = "log 内容")
    private String logText;

    /** 作业执行类型 */
    @TableField("flink_type")
    @Excel(name = "作业执行类型")
    private String flinkType;

    /** 要执行的jarId */
    @TableField("flink_jar_id")
    @Excel(name = "要执行的jarId")
    private Long flinkJarId;

    /** 执行的jar地址 */
    @TableField("jar_path")
    @Excel(name = "执行的jar地址")
    private String jarPath;

    /** main入口类 */
    @TableField("main_class")
    @Excel(name = "main入口类")
    private String mainClass;



    @TableField(exist = false)
    private Long applicationId;

    @TableField(exist = false)
    private String jobType;

    @TableField(exist = false)
    private String deployModel;

    @TableField("dependencies")
    private String dependencies;


    /** 是否使用catalog */
    @TableField("use_catalog")
    @Excel(name = "是否使用catalog")
    private Boolean useCatalog;

    /** catalogId */
    @TableField("catalog_id")
    @Excel(name = "catalogId")
    private Long catalogId;

    /** 数据库名称 */
    @Excel(name = "数据库名称")
    @TableField("database_name")
    private String databaseName;
}
